package QC.MessageBox.beans.appmsg;

import com.google.common.base.MoreObjects;

/**
 * Created by Andaren on 2017/4/18.
 * Used for: 中间件发送给app的extra拓展消息
 */
public class ExtraMsg {

    private String developerId;     // 公众号原始ID
    private String openId;          // 微信用户唯一标识
    private String headUrl;         // 头像地址
    private String nickName;        // 昵称
    private String publicName;      // 公众号名称
    private String type;            // 消息来源类型(目前都是wx)
    private String timestamp;       // 时间戳
    private Integer channelType;    // 渠道类型（微信：0,微博：1,网页：2）
    private String csTalkId;        // 客服通信id
    private Integer functionType = 0;   // 功能类型（0：正常消息，1：同步消息 ;默认正常消息）
    private Integer plateformType;  // 客服发消息的平台类型（0：app端，1：web端）

    public ExtraMsg() {}

    public String getDeveloperId() {
        return developerId;
    }

    public ExtraMsg setDeveloperId(String developerId) {
        this.developerId = developerId;
        return this;
    }

    public String getOpenId() {
        return openId;
    }

    public ExtraMsg setOpenId(String openId) {
        this.openId = openId;
        return this;
    }

    public String getHeadUrl() {
        return headUrl;
    }

    public ExtraMsg setHeadUrl(String headUrl) {
        this.headUrl = headUrl;
        return this;
    }

    public String getNickName() {
        return nickName;
    }

    public ExtraMsg setNickName(String nickName) {
        this.nickName = nickName;
        return this;
    }

    public String getPublicName() {
        return publicName;
    }

    public ExtraMsg setPublicName(String publicName) {
        this.publicName = publicName;
        return this;
    }

    public String getType() {
        return type;
    }

    public ExtraMsg setType(String type) {
        this.type = type;
        return this;
    }

    public String getTimestamp() {
        return timestamp;
    }

    public ExtraMsg setTimestamp(String timestamp) {
        this.timestamp = timestamp;
        return this;
    }

    public Integer getChannelType() {
        return channelType;
    }

    public ExtraMsg setChannelType(Integer channelType) {
        this.channelType = channelType;
        return this;
    }

    public String getCsTalkId() {
        return csTalkId;
    }

    public ExtraMsg setCsTalkId(String csTalkId) {
        this.csTalkId = csTalkId;
        return this;
    }

    public Integer getPlateformType() {
        return plateformType;
    }

    public ExtraMsg setPlateformType(Integer plateformType) {
        this.plateformType = plateformType;
        return this;
    }

    public Integer getFunctionType() {
        return functionType;
    }

    public ExtraMsg setFunctionType(Integer functionType) {
        this.functionType = functionType;
        return this;
    }

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("developerId", developerId)
                .add("openId", openId)
                .add("headUrl", headUrl)
                .add("nickName", nickName)
                .add("publicName", publicName)
                .add("type", type)
                .add("timestamp", timestamp)
                .add("channelType", channelType)
                .add("csTalkId", csTalkId)
                .add("functionType", functionType)
                .add("plateformType", plateformType)
                .toString();
    }
}
